import cv2  
  
# 1. 设置VideoWriter对象  
# 指定输出视频文件的名称、编解码器（FourCC代码）、帧率、帧大小（宽度、高度）和是否为彩色视频  
# 注意：FourCC代码是特定于编解码器的，这里我们使用'XVID'作为示例，但你可能需要根据你的需求和环境进行更改  
# 捕获摄像头的默认摄像头（通常为0）  
cap = cv2.VideoCapture("rtsp://admin:abc12345@192.168.1.111/cam/realmonitor?channel=1&subtype=0")  
# 获取摄像头捕获的帧的大小（宽度、高度）  
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))  
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))  
# 设置帧率（这里假设为30fps）  
fps = 25.0  
# 创建一个VideoWriter对象  
fourcc = cv2.VideoWriter_fourcc(
                'm', 'p', '4', 'v')  # opencv3.0 
out = cv2.VideoWriter('output.mp4', fourcc, fps, (width, height), isColor=True)  
  
# 2. 捕获视频帧  
while cap.isOpened():  
    ret, frame = cap.read()  
    if ret:  
        # 3. 写入帧到视频文件  
        out.write(frame)  
  
        # 显示帧（可选）  
        cv2.imshow('frame', frame)  
        if cv2.waitKey(1) & 0xFF == ord('q'):  # 按'q'键退出循环  
            break  
    else:  
        break  
  
# 4. 释放资源  
cap.release()  
out.release()  
cv2.destroyAllWindows()